package com.zmc.product.application;

import com.zmc.common.domain.freight.FreightQueryPrice;
import com.zmc.common.domain.good.GoodSkuBuyDetail;
import com.zmc.common.domain.vo.good.GoodsUpVo;
import com.zmc.product.infrastructure.bean.query.GoodsDetailQuery;
import com.zmc.product.infrastructure.bean.response.GoodsDetailResp;
import com.zmc.product.infrastructure.bean.vo.GoodSpuVo;
import com.zmc.product.infrastructure.bean.vo.GoodsApproveVo;

import java.util.List;

/**
 * @Author：zmc
 * @Date：2024/11/1 9:35
 */
public interface GoodsApplicationService {

    /**
     * 获取商品详情页
     * */
    GoodsDetailResp getGoodsDetail(GoodsDetailQuery query);

    /**
     * 提审商品
     * */
    void submit(GoodsApproveVo approveVo);


    /**
     * 审核商品
     * */
    void audit(GoodsApproveVo approveVo);

    /**
     * 批量上架商品
     * */
    void upGoods(List<GoodsUpVo> list);

    public void saveGood(GoodSpuVo vo);

    public GoodSpuVo getGoodInfo(Long id);

    public void updateGood(GoodSpuVo vo);

    public void remove(Long id);

    FreightQueryPrice countWeightVolume(List<GoodSkuBuyDetail> list);
}
